{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "north-consumption", "metadata": {}, "outputs": [], "source": [ "# The tutorial basic_plots.m discussed how to plot data using 'plot' and\n", "# 'errorbar' and then how to format those plots. In this tutorial we plot\n", "# functions. Actually, we will give Python a function f(x) and then evaluate\n", "# that function at a bunch of x-values. You actually have to create a list of x \n", "# data and then evaluate the function at all those values of x (thus creating \n", "# a list of y data) and then plot y vs x as in basic_plots.m. At first, this \n", "# might seem odd, but it's actually not too bad. In fact, it gives you full \n", "# control of the density of points to be used in the plots, whereas other prorams \n", "# will try to guess for you what might be a good number of points to use.\n", "\n", "# I will first import the module numpy and 'matplotlib' which we will use\n", "# for ploting. Matplotlib provides a MATLAB-like interface. Many of the \n", "# options used for plotting in MATLAB are the same in Matplotlib.\n", "import math\n", "import numpy as np\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 2, "id": "bulgarian-congo", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. , 1.1, 1.2,\n", " 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2. , 2.1, 2.2, 2.3, 2.4, 2.5,\n", " 2.6, 2.7, 2.8, 2.9, 3. , 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8,\n", " 3.9, 4. , 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 5. , 5.1,\n", " 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 5.9, 6. , 6.1, 6.2])" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Here's a simple example of ploting sin x vs x. First, create some x\n", "# data.\n", "xx = np.array(np.arange(0, 2*math.pi, 0.1))\n", "xx" ] }, { "cell_type": "code", "execution_count": 4, "id": "dirty-genesis", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 0. , 0.09983342, 0.19866933, 0.29552021, 0.38941834,\n", " 0.47942554, 0.56464247, 0.64421769, 0.71735609, 0.78332691,\n", " 0.84147098, 0.89120736, 0.93203909, 0.96355819, 0.98544973,\n", " 0.99749499, 0.9995736 , 0.99166481, 0.97384763, 0.94630009,\n", " 0.90929743, 0.86320937, 0.8084964 , 0.74570521, 0.67546318,\n", " 0.59847214, 0.51550137, 0.42737988, 0.33498815, 0.23924933,\n", " 0.14112001, 0.04158066, -0.05837414, -0.15774569, -0.2555411 ,\n", " -0.35078323, -0.44252044, -0.52983614, -0.61185789, -0.68776616,\n", " -0.7568025 , -0.81827711, -0.87157577, -0.91616594, -0.95160207,\n", " -0.97753012, -0.993691 , -0.99992326, -0.99616461, -0.98245261,\n", " -0.95892427, -0.92581468, -0.88345466, -0.83226744, -0.77276449,\n", " -0.70554033, -0.63126664, -0.55068554, -0.46460218, -0.37387666,\n", " -0.2794155 , -0.1821625 , -0.0830894 ])" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Next, create the y data\n", "yy = np.sin(xx)\n", "yy" ] }, { "cell_type": "code", "execution_count": 5, "id": "domestic-county", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Finally, create the plot.\n", "plt.plot(xx, yy, 'ro-', markersize = 8, linewidth = 2, fillstyle = 'none')\n", "plt.xlabel(r'$x$')\n", "plt.ylabel(r'$\\sin x$')\n", "plt.axis((0, 2*math.pi, -1, 1));" ] }, { "cell_type": "code", "execution_count": 6, "id": "answering-builder", "metadata": {}, "outputs": [], "source": [ "# Here's another example. The function plotted below is the frequency\n", "# derivative of a Lorentzian. We first define a Python function.\n", "def dlorentz(f, f0, Q0):\n", " return (Q0**2/f)*((f0/f)**2 - (f/f0)**2)/((1 + Q0**2*(f/f0 - f0/f)**2)**(3/2))" ] }, { "cell_type": "code", "execution_count": 7, "id": "precise-mining", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# The derivative of the Lorentzian has sharp features near the resonance\n", "# frequency. First, we show what the plot looks like if we use too few\n", "# points.\n", "f0 = 1e9\n", "Q0 = 500\n", "ff = np.arange(960e6, 1040e6, 2e6)\n", "plt.figure()\n", "plt.plot(ff, dlorentz(ff, f0, Q0), 'bo-', linewidth = 2, fillstyle = 'none')\n", "plt.xlabel('Frequency (Hz)')\n", "plt.ylabel(r'$dL/df$');" ] }, { "cell_type": "code", "execution_count": 8, "id": "sudden-appeal", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# For this second curve we'll use a varying density of points (high density\n", "# near the sharp resonant freatures). This results in a much smoother\n", "# curve that better represents the true features of the function.\n", "ff = np.concatenate((np.arange(960e6, 990e6, 2e6), np.arange(990e6, 997e6, 1e6),\\\n", " np.arange(997e6, 1003e6, 0.1e6), np.arange(1003e6, 1010e6, 1e6),\\\n", " np.arange(1010e6, 1040e6, 2e6)))\n", "plt.plot(ff, dlorentz(ff, f0, Q0), 'r-', linewidth = 2);" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.8" } }, "nbformat": 4, "nbformat_minor": 5 }